// api.js
import axios from 'axios';
import { ElMessage } from 'element-plus'

const API_BASE_URL = '/detectApi' // 根据实际情况设置基础URL
 
const apiClient = axios.create({
  baseURL: API_BASE_URL,
  // 其他axios配置选项
  // timeout:10000
});
 
// 封装具体的接口请求函数
const DetectApi = {
  //获取所有检测和参估信息
  async getAllColumn() {
    try {
      const response = await apiClient.get('/all_column')
      return response.data
    } catch (error) {
      ElMessage.error("获取信息失败，请检查检测服务端是否开启，网络是否畅通") 
    }
  },
  //获取设备系统信息
  async getSysInfo() {
    try {
      const response = await apiClient.get('/sys_info')
      return response.data
    } catch (error) {
      ElMessage.error("获取系统信息失败，请检查检测服务端是否开启，网络是否畅通") 
    }
  },
  //前端读取Excel文件后向参估发送数据
  async postExcelData(detectData){
    try {
      const response = await apiClient.post('/newtask',detectData,{
        headers: {
          'Content-Type': 'application/json'
        }
      })
      return response
    }
    catch(error) {
      console.log("向检测服务端发送配置失败，错误码"+error.response.status)
      ElMessage.error("向检测服务端发送配置失败，错误码"+error.response.status+",检查网络是否畅通，服务端是否开启")
    }
  },
    //获取表单所有数据
    async getAllData() {
        try {
          const response = await apiClient.get('/all');
          return response.data;
        } catch (error) {
          ElMessage.error("获取检测信息失败，请检查检测服务端是否开启，网络是否畅通") 
        }
    },
  //发送要修改的通道的参数 TODO修改接口名称
  async postModify(modifyData) {
    try {
      const response = await apiClient.post('/config',modifyData,{
        headers: {
        'Content-Type': 'application/json'
        }
      });
      return response.data;
    } catch (error) {
      ElMessage.error("修改检测信息失败，请检查检测服务端是否开启，网络是否畅通")
    }
  },
  //发送要停止的DDC通道号
  async postStop(pathid) {
    try {
      const response = await apiClient.post('/stop', {'path_id':pathid});
      return response.data;
    } catch (error) {
      ElMessage.error("DDC通路" + pathid +"停止检测指令发送失败，请检查检测服务端是否开启")
    }
  },
  //发送要开始的DDC通道号
  async postStart(pathid) {
    try {
      const response = await apiClient.post('/start', {'path_id':pathid});
      return response.data;
    } catch (error) { 
      ElMessage.error( "DDC通路"+pathid+"检测开始指令发送失败，请检查检测服务端是否开启")
    }
  },
  async postStopAll(){
    try {
      const response = await apiClient.post('/stopall', {'stopall':true});
      return response.data;
    } catch (error) {
      ElMessage.error("停止所有检测通道指令发送失败，请检查服务端是否开启，网络是否畅通")
    }
  }
};
 
export default DetectApi;